This invention relates generally to user interfaces to terminal-based computer systems capable of processing vector data, and more particularly to software for simulating the appearance and operation of a calculator-like vector manipulator. A preferred embodiment of the invention is described in conjunction with retrieving, manipulating, displaying and storing user-selectable graphic waveform data produced by analog circuit simulation.
Interfaces to terminal-based computer systems have become, in the past few years, increasingly user-friendly. The advent of display windows, each representing a concurrently executing task and each being concurrently operable by the terminal's user, has made it possible to simulate, for display on the terminal's display monitor, a user's physical work space (the simulation being referred to as a desktop). Such features as time-of-day clocks, scratchpads, file organizers and wastebaskets have been provided in graphic or icon form to facilitate desktop organization and management without resort to arcane, textual command entry. Cursor control systems also have become more user-friendly. They almost invariably provide what is known as a "mouse" to enable the terminal's user to locate a cursor within the monitor's display field and, with the depression of a pushbutton, to designate a particular location therein. The marriage of these two concepts has reduced drastically the number of keystrokes required to enter a command, and has provided a pictorial, rather than syntactical, approach to interfacing computers and their users, whose creative processes tend to be more symbolic than expressive.
With the benefit of user-friendly software, a user may easily "grasp" any of the software tools mentioned above by selecting the icon associated therewith. For example, the time-of-day clock may be displayed in digital or analog format when the user is performing a time-critical task and perpetually needs to know what time it is. An outdated or unneeded file may be discarded in the wastebasket and disk space may be reclaimed thereby. The user may make a note on the scratchpad. The icon-covered desktop may be organized to make it easier to find a file, note or tool. All of these operations may be accomplished, without resort to typed commands, by simply locating the cursor near the icon symbolizing the desired tool and "clicking" the mouse's pushbutton.
Calculators have been known to be included in the software toolkits of such user-friendly systems. It was thought that the calculator was a tool needed frequently by users to add or multiply two numbers, or to subtract one from, or divide one by, another. By selecting a calculator icon, the user of the terminal obtained access to a simulated calculator display window that could be moved around the desktop, or put away, when not needed, as with other tools. Calculator displays were formatted to look like many of the popular calculators of the day, i.e., they had keys representing the numerals 0 through 9; function keys, e.g. +, -, .times., .div., =; and a display that, responsive to the user's inputs, symbolically represented selected operators, operands and calculation results.
Engineers will not be unaffected by the user interface revolution. Computer aided engineering, including design and manufacturing, currently is among the most rapidly developing technical fields. Electrical engineers design and simulate digital and analog circuits and systems; mechanical engineers develop circuit boards, connectors, cables and enclosures; manufacturing engineers draft and specify packaging materials in which to ship the products designed by others. All make extensive use of computers, usually networked together so that specifications and drawings may be conveyed among participating design groups electronically. Thus, user-friendly interfaces will find their way into even the sophisticated user's hands.
In the electrical engineering discipline, application programs called simulators allow a design engineer to describe a complex analog circuit by creating a new library, or augmenting an existing library, of models that describe various circuit elements, e.g. resistors, capacitors and transistors. An elemental model typically includes a complete characterization of a circuit element, including the relationship among voltage, current and, e.g. resistance (in the case of a resistor). When the engineer wants to employ the models in a circuit simulation, the circuit is first defined by logically interconnecting various elements. Next, constant values, e.g. the values of the resistors, capacitors and transistors defining the circuit, are assigned. Finally, initial conditions are specified and the simulator is commanded to run. The results of the simulation usually include certain limited characteristics of the circuit described by the engineer, including, for example, the instantaneous voltage at any given node. Display processors make it possible to view the circuit's response to chosen stimuli, in the form of a graphic waveform.
Analog circuit design is an iterative process. Therefore, the results of such a simulation might be fed back into the engineer's definition of the analog circuit. For example, a bias resistor may be added, or its value changed, and then the simulation may be rerun to verify the modified circuit definition. By this often tedious process, the engineer ultimately achieves simulated circuit response characteristics that meet particular performance specifications, without resort to a hardwired "breadboard" and prototype implementation. Although simulation is a time-saver, it is also costly, as multiple simulation runs are central processing unit (CPU)-and memory-intensive alternatives to breadboarding and prototyping.
Graphic waveform data manipulation is a less expensive and time-consuming proposition, as it enables the engineer to manipulate post-simulation results without resort to another, relatively expensive simulation run. Such manipulations might involve multiple dependent variables, e.g. current and voltage, as a function of time. Manipulations involving a single variable as a function of time, or a single variable and a scalar quantity, also may be performed by such software. Means to perform such graphic waveform manipulations on a "soft" calculator, or a calculator simulator (referred to hereinafter as, simply, a calculator), that is available as a desktop tool on a computer terminal, has not been provided heretofore.
It is a principal object of the invention to provide a vector data manipulation system that simulates the appearance and operation of a calculator whose operands are vectors.
Another important object of the invention is to provide such a system that is compatible with existing vector processing application software.
It is yet a further object of the invention to provide such a system in a display format that is convenient to use, and familiar to users of existing scientific calculators.
According to a preferred embodiment of the invention, display and program means are provided for simulating the appearance and operation of a plural key calculator pad having a display area. The calculator's keypad is operable to select operators using a conventional cursor control system, and the calculator's keypad and display are visible to the user in a display window of a computer terminal. Graphic waveform data and operators are selected, by use of, e.g. a mouse, and are symbolically encoded into expressions for viewing in the calculator's display area. Operators may be of the single or multiple operand variety, and may range from simply functions like vector addition or subtraction to more complex logarithmic functions.
A software task executing in the computer obtains key "closure" and waveform identifiers from calculator control interface software, and associates the selected key with an assigned vector operator to effect the intended operation on the designated waveform(s). The calculator's display area is updated by an expression display driver to represent symbolically the selected vector expression to be evaluated. The vector data, or graphic waveform(s), that result from the vector calculation may be stored by the user for later viewing or plotting. In the preferred embodiment, the software task, or system, is called by, and returns to, an interactive simulator, such as the Sober.TM. simulator, available from Analogy, Inc., of Beaverton, Oreg.
In the preferred embodiment, the vector data manipulation system, which may be thought of as a software tool, is in a display window that is located on what may be thought of as a desktop. By this invention, the user of an interactive simulator need not type arcane expressions that follow the syntax rules for some command interpreter; the user may now manipulate graphic waveform simulation results as easily and quickly as though using a calculator.
These and other advantages and features of the invention will become more fully apparent when the detailed description below is read with reference to the accompanying drawings.